package com.wfh.core.saver;


import com.wfh.ai.model.HtmlCodeResult;
import com.wfh.ai.model.MultiFileCodeResult;
import com.wfh.common.ErrorCode;
import com.wfh.exception.BusinessException;
import com.wfh.model.enums.CodeGenTypeEnums;

import java.io.File;

import static com.wfh.model.enums.CodeGenTypeEnums.MULTI_FILE;

/**
 * @Title: CodeFileSaverExector
 * @Author wangfenghuan
 * @Package com.wfh.aigenerator.core.saver
 * @Date 2025/7/30 16:34
 * @description: 文件保存执行器
 */
public class CodeFileSaverExector {

    public static File exectorSave(Object codeResult, CodeGenTypeEnums codeGenTypeEnums, Long appId){
        return switch (codeGenTypeEnums){
            case HTML -> new HtmlCodeSaverTemplate().saveCode((HtmlCodeResult) codeResult, appId);
            case MULTI_FILE -> new MultiFileCodeFileSaverTemplate().saveCode((MultiFileCodeResult) codeResult, appId);
            default -> throw new BusinessException(ErrorCode.PARAMS_ERROR, "不支持的文件保存类型");
        };
    }
}
